import Vue from 'vue'
import App from './App'
import store from './store/store.js'

// 按需导入 $http 对象
import { $http } from '@escook/request-miniprogram'
// 在 uni-app 项目中，可以把 $http 挂载到 uni 顶级对象之上，方便全局调用
uni.$http = $http
// #ifdef  MP-WEIXIN
$http.baseUrl = 'https://www.uinav.com'
// #endif

// 模拟数据
uni.$http._post = uni.$http.post
uni.$http.post = function(url, data){
  //做自己的处理
  if(url === '/api/public/v1/users/wxlogin'){
      return new Promise((resolve, reject)=>{
        resolve({
          data: {
            "message":{"user_id":56,"user_email_code":null,"is_active":null,"user_sex":"男","user_qq":"","user_tel":"","user_xueli":"本科","user_hobby":"","user_introduce":null,"create_time":1630138976,"update_time":1630138976,"token":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjU2LCJpYXQiOjE2MzgwNzk2NDUsImV4cCI6MTAwMTYzODA3OTY0NH0.FvyRV1ccyHpAcogH-hzYu-7IKQbEwM1LQnVb2YZM3x8"},"meta":{"msg":"登录成功","status":200}
          }})
      })
  }
  return uni.$http._post(url, data)
}

$http.baseURL = 'https://www.uinav.com'
// 请求拦截器 请求开始之前做一些事情
$http.beforeRequest = function(options) {
  // console.log(options);
  wx.showLoading({
      title: '数据加载中...',
    })
    // 判断请求的是否为有权限的 API 接口
      if (options.url.indexOf('/my/') !== -1) {
        // 为请求头添加身份认证字段
        options.header = {
          // 字段的值可以直接从 vuex 中进行获取
          Authorization: store.state.m_user.token,
        }
      }
}
// 响应拦截器 请求完成之后做一些事情
$http.afterRequest = function(options) {
  wx.hideLoading()
}

uni.$showMsg = function(title = '数据加载失败！', duration = 1500) {
  uni.showToast({
    title,
    duration,
    icon: "none"
  })
}

Vue.config.productionTip = false

App.mpType = 'app'

const app = new Vue({
    ...App,
    store // 将 store 挂载到 Vue 实例上
})
app.$mount()
